package cn.tedu.mall.product.redis.constant;

/**
 * Redis常量
 */
public class RedisConst {

    /**
     * 重建全部缓存的间隔时间
     */
    public static final long REBUILD_INTERVAL_IN_MINUTE = 1;

    /**
     * 空值
     */
    public static final String EMPTY_VALUE = "";
    /**
     * 空值有效期，以分钟为单位
     */
    public static final long EMPTY_VALUE_TIMEOUT_IN_MINUTE = 5L;

    /**
     * Redis的Key
     */
    public static class Key {

        /**
         * 品牌数据在Redis中的Key
         */
        public static class Brand {
            /**
             * 品牌数据的key前缀
             */
            public static final String KEY_PREFIX = "mall:brand:";

            /**
             * 品牌数据项（元素数据）的key前缀
             */
            public static final String ITEM_KEY_PREFIX = KEY_PREFIX + "item:";

            /**
             * 品牌列表的key
             */
            public static final String LIST_KEY = KEY_PREFIX + "list:standard";

            /**
             * 根据类别id对应的品牌列表的key前缀
             */
            public static final String LIST_BY_CATEGORY_KEY_PREFIX = KEY_PREFIX + "list:by-category:";

            /**
             * 最近重建品牌数据缓存的时间的key
             */
            public static final String RECENTLY_LOAD_TIME_KEY = KEY_PREFIX + "recently-load-time";
        }

        /**
         * 类别数据在Redis中的Key
         */
        public static class Category {
            /**
             * 类别数据的key前缀
             */
            public static final String KEY_PREFIX = "mall:category:";

            /**
             * 类别数据项（元素数据）的key前缀
             */
            public static final String ITEM_KEY_PREFIX = KEY_PREFIX + "item:";

            /**
             * 类别列表的key
             */
            public static final String LIST_KEY = KEY_PREFIX + "list:standard";

            /**
             * 根据品牌id对应的类别列表的key前缀
             */
            public static final String LIST_BY_BRAND_KEY_PREFIX = KEY_PREFIX + "list:by-brand:";

            /**
             * 根据父级id对应的类别列表的key前缀
             */
            public static final String LIST_BY_PARENT_KEY_PREFIX = KEY_PREFIX + "list:by-parent:";

            /**
             * 最近重建类别数据缓存的时间的key
             */
            public static final String RECENTLY_LOAD_TIME_KEY = KEY_PREFIX + "recently-load-time";
        }

    }

}
